<!DOCTYPE html>
<html lang="ja">

<head>
	<meta charset="UTF-8"/>
	<meta name="keywords" content="仕様変更,line ending,改行"/>
	<link rel="stylesheet" href="../../Shared/sty/standard.css"/>
	<script defer src="../../Shared/js/toc.js"></script>
	
	<title>CotEditor 4.2での重要な変更</title>
</head>

<body>

<a name="specification_changes_on_4.2.0"></a>

<h1>CotEditor 4.2での重要な変更</h1>

<p>2022年5月リリースのCotEditor 4.2.0から、改行コードの扱いが変更されました。バージョン4.2.0以前では内部的には改行コードはすべてLF (<code>U+000A</code>)として扱っていましたが、バージョン4.2.0以降は書類ファイルの実際の改行コードをそのまま扱います。そのため、とくに以前のバージョンを使っていたユーザはこの変更を意識し、いくつかの設定で変更が必要になる場合があります。</p>
<p>最新のCotEditorがどう改行を扱うかについて詳しくは、<a href="about_line_endings.html">多様な改行コードを扱う</a>を参照してください。</p>


<section>
<h2>正規表現パターンでの改行コード</h2>

<p>従来のCotEditorは内部的にすべて改行コードをLFで処理していたため、書類の実際の改行コードに関わらず<code>\n</code>を改行を認識する正規表現パターンとして利用できました。CotEditor 4.2.0以降では、<code>\n</code>は改行コードにLFを用いる書類でしか改行に一致しなくなります。従来のように書類に改行コードの如何に関わらず改行に一致させたい場合は<code>\n</code>でなく<code>\R</code>を用いてください。</p>

<p class="addition"><code>\R</code>は、CotEditorが使用している<a href="about_regex.html">ICU正規表現エンジン</a>において、改行を表現する文字全般に一致するメタ文字です。<code>U+000A</code> (LF), <code>U+000B</code>, <code>U+000C</code>, <code>U+000D</code> (CR), <code>U+0085</code>, <code>U+2028</code>, <code>U+2029</code>, および<code>U+000D</code> <code>U+000A</code>の組み合わせ (CRLF)を改行コードとして認識します。</p>
</section>


<section>
<h2>保存している設定での改行の取り扱い</h2>

<p>改行コードとしてLFのみを想定したスクリプト処理や正規表現パターンは、CotEditor 4.2.0以降LF以外の改行コードを持つ書類で意図した挙動をしなくなる可能性があります。これらユーザ設定はユーザ自身が設定を変更する必要があります。</p>

<p>CotEditorで改行が関わるユーザ設定としては、以下の設定項目が該当します:</p>
<ul>
	<li><a href="howto_multiple_replace.html">複数置換設定</a>の置換定義</li>
	<li>シンタックスの<a href="syntax_highlight_settings.html">カスタム定義</a></li>
	<li>スクリプトメニューに保存している<a href="script_overview.html">スクリプト</a>内での書類の改行コードの取り扱い</li>
</ul>
</section>


<section>
<h2>検索と置換での改行</h2>

<p>正規表現を用いない通常の文字列での検索と置換では、検索/置換文字列内に改行が含まれる場合、その改行は検索対象の書類で用いられている改行コードと同一の改行コードであると想定して使用されます。</p>

<p>これは、たとえば、改行コードCRを含む文字列を（正規表現でない）検索文字列として使用して改行コードLFの書類を検索した場合、検索文字列の改行はすべてLFとして使用される、ということです。検索で改行コードを厳密に扱いたい場合は、正規表現を利用してください。</p>

<p>一方、置換においては、置換文字列に含まれる（<code>\n</code>のようなメタ文字での指定も含む）すべての改行コードは書類の改行コードと同一の改行コードに差し替えられます。現状は書類の改行コード以外の改行コードで置換する方法は提供されておらず、これは以前のCotEditorと同じ仕様となります。</p>

<p>検索と置換での改行について詳しくは、<a href="howto_find_newline.html">改行を検索する/置換する</a>を参照してください。</p>
</section>


<section id="cf">
<h2>関連項目</h2>
<ul>
	<li><a href="about_line_endings.html">MacのCotEditorで多様な改行コードを扱う</a></li>
	<li><a href="howto_find_newline.html">MacのCotEditorで改行を検索する/置換する</a></li>
	<li><a href="howto_find_inconsistent_line_endings.html">MacのCotEditorで混在する改行を探す</a></li>
	<li><a href="howto_paste.html">MacのCotEditorでテキストをペーストする</a></li>
	<li><a href="whats_new_in_4.2.html">MacのCotEditor 4.2の新機能</a></li>
	<li><a href="releasenotes.html">MacのCotEditorのリリースノート</a></li>
</ul>
</section>

</body>
</html>
